package cn.iocoder.yudao.module.system.controller.admin.price.vo;

import cn.iocoder.yudao.framework.common.enums.metal.MetalTypeEnum;
import cn.iocoder.yudao.framework.common.validation.InEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;

@Schema(description = "管理后台 - 实时价格配置新增/修改 Request VO")
@Data
public class LivePriceConfSaveReqVO {

    @Schema(description = "配置编号，自增", requiredMode = Schema.RequiredMode.REQUIRED, example = "8558")
    private Long id;

    @Schema(description = "大盘增价，单位：分", requiredMode = Schema.RequiredMode.REQUIRED, example = "15958")
    @NotNull(message = "大盘增价，单位：分不能为空")
    private BigDecimal increasePrice;

    @Schema(description = "大盘减价，单位：分", requiredMode = Schema.RequiredMode.REQUIRED, example = "24147")
    @NotNull(message = "大盘减价，单位：分不能为空")
    private BigDecimal decreasePrice;

    @Schema(description = "波动价增，单位：分", requiredMode = Schema.RequiredMode.REQUIRED, example = "15958")
//    @NotNull(message = "波动价增，单位：分")
    private BigDecimal waveIncreasePrice;

    @Schema(description = "波动价减，单位：分", requiredMode = Schema.RequiredMode.REQUIRED, example = "24147")
//    @NotNull(message = "波动价减，单位：分")
    private BigDecimal waveDecreasePrice;
    private BigDecimal alarmPrice;

    @Schema(description = "原料类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @InEnum(value = MetalTypeEnum.class,message = "原料类型错误")
    private Integer metalType;

    @Schema(description = "模块，商城0/回收1", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer moduleType;
}